package xyhoo.springframework.core.io.support;

import xyhoo.springframework.core.io.Resource;
import xyhoo.springframework.core.io.ResourceLoader;

import java.io.IOException;

public interface ResourcePatternResolver extends ResourceLoader {

    /**
     * {@code "classpath*:"}是一个伪URL前缀，用于从类路径中查找所有匹配项。
     * 它与ResourceLoader的 {@code "classpath:"} 不同之处在于：{@code "classpath*:"}会检索给定路径下的所有匹配的资源。
     * 例如，要定位所有已部署的jar包 根目录下的“beans.xml”文件，可以使用{@code "classpath*:/beans.xml"}。
     * <p>spring 6.0版本之后，{@code "classpath*:"}语义已扩展，不仅包含类路径，也包括模块路径
     */
    String CLASSPATH_ALL_URL_PREFIX = "classpath*:";

    Resource[] getResources(String locationPattern) throws IOException;
}
